#ifndef __SMBIOS_APP_H__
#define __SMBIOS_APP_H__

#include <Uefi.h>

#define  SMBIOS_ENTRY_BASE_REGIN_BEGIN  0xF0000
#define  SMBIOS_ENTRY_BASE_REGIN_END    0xFFFFF

#define SMBIOS_SIGNATURE   SIGNATURE_32 ('_','S','M','_')
#define SMBIOS3_SIGNATURE  SIGNATURE_32 ('_','S','M','3')

#define FILE_NAME  L"sm.bin"

UINT8 *
GetSmbiosEntryPointer ();

UINT8 *
GetSmbiosTablePointer (
  OUT UINT16  *TableLength,
  OUT UINT16  *NumOfSmbiosStructures
  );

VOID
ListSmbiosTable (
  IN UINT16  TableLength,
  IN UINT16  Type
  );

EFI_STATUS
EFIAPI
CreatFileDataByName (
  IN  CHAR16     *FileName,
  IN  UINT8      *Buffer,
  IN  UINT16     Size
  );

#endif